package com.ssm.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.ssm.entity.User;

/**
 * dao
 * 
 * @author Administrator
 *
 */
public interface UserDao {
	
	List<User> selectUserAndAddress();

	//查询全部用户
	List<User> getUserList();
	
	//多参数封装为对象 优先于map
	//多参数封装为Map key 就是sql映射文件中的#{key}
	//多參數@Param(name)  sql映射文件中的#{name}
	List<User> selectUserList(@Param("userName") String userName,
					@Param("roleId") Integer userRole);
	
	//根据id查询用户
	User getUserById(Integer id);
	
	//添加用户
	int addUser(User user);
	
	int updateUser(User user);
	
	int deleteUser(Integer id);
	
	/**
	 *根据角色数据查询用户
	 */
	List<User> selectUserListByRoleIds(
			@Param("roleIds")	List<Integer> roleIds,
			@Param("gender")	Integer gender);
	
	//分页查询
	int count();
	
	List<User> selectByPage(@Param("startRow") Integer startRow,
			@Param("pageSize") Integer  pageSize);
}
